package main

import "fmt"

//演示切片
func main() {

	//切片的使用;方式一
	var intArr = [...]int{1, 2, 3, 4, 5}

	//声明/定义一个切片
	//selice:切片名，intArr[1:3]:表示slice引用到intArr这个数组
	//引用intArr数组的启始下标为1，最后的下标为3(但是不包含3)
	slice := intArr[1:3]
	//slice := intArr[:3]
	//slice := intArr[1:]
	//slice := intArr[:]
	fmt.Println(slice)

	//使用方式二
	var ints2 []float64 = make([]float64, 10, 100)
	//参数一：类型（type）,参数二：数组长度，参数三：容量（省略后与长度相同）
	ints := make([]int, 10, 12)
	fmt.Println("ints size = ", len(ints))
	fmt.Println("ints cap", cap(ints2))

	//使用方式三；定义一个切片，直接指定具体数组，使用原理类似与make的方式
	var arr3 []string = []string{"hello", "majun", "su"}
	//var arr4 = []string{"hello","majun","su"}
	fmt.Println("arr3 内容", arr3)
	fmt.Println("arr3 len", len(arr3))
	fmt.Println("arr3 cap", cap(arr3))
}
